package com.atguigu.gmall.cart.service;

import com.atguigu.gmall.model.cart.CartInfo;

import java.util.List;
import java.util.Map;

public interface CartInfoService {
    /**
     * 登录用户新增购物车
     * @param skuId
     * @param num
     * @param userId
     */
    public  void addCart(Long skuId,Integer num,String userId);

    /**
     * 临时用户新增购物车
     * @param skuId
     * @param num
     * @param userId
     * @return
     */
    public String addCartTemp(Long skuId,Integer num,String userId);

    /**
     * 删除购物车数据
     * @param userId
     * @param skuId
     */
    public void deleteCart(Long skuId, Long userId);

    /**
     * 查询购物车信息
     * @param userId
     * @param tempUserId
     * @return
     */
    public List<CartInfo> getCartInfoList(String userId,String tempUserId);

    /**
     * 用户登录后的修改
     * @param skuId
     * @param num
     */
    public void editCart(Long skuId,Integer num,String userId);

    /**
     * 用户登录后的修改
     * @param skuId
     * @param num
     */
    public void editCartTemp(Long skuId,Integer num,String userId);
    /**
     * 查询用户选中的购物车信息
     * @param userId
     * @return
     */
    public List<CartInfo> getChooseCartInfoList(Long userId);

    /**
     * 查询用户选中的购物车信息
     * @param userId
     * @return
     */
    public Map<String, Object> getChooseCartInfo(Long userId);
}
